home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / answers / graphics / opengl-faq < prev    next >
Encoding:
Internet Message Format  |  1993-06-09  |  15.8 KB

  1. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!decwrl!olivea!sgigate!odin!fido.asd.sgi.com!basia.asd.sgi.com!woo
  2. From: woo@basia.asd.sgi.com (Mason Woo)
  3. Newsgroups: comp.graphics.opengl,comp.answers,news.answers
  4. Subject: comp.graphics.opengl Frequently Asked Questions (FAQ) [1/1]
  5. Followup-To: poster
  6. Date: 10 Jun 1993 02:56:09 GMT
  7. Organization: Silicon Graphics Inc., Mountain View, CA
  8. Lines: 331
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Expires: 30 June 1993 00:00:00 GMT
  12. Message-ID: <1v67s9$d2k@fido.asd.sgi.com>
  13. Reply-To: woo@basia.asd.sgi.com
  14. NNTP-Posting-Host: kicksave.asd.sgi.com
  15. Summary: This contains a list of Frequently Asked Questions about OpenGL (TM)
  16. Keywords: FAQ
  17. Xref: senator-bedfellow.mit.edu comp.graphics.opengl:504 comp.answers:930 news.answers:9227
  18.  
  19. Archive-name: graphics/opengl-faq
  20. Last-modified: 1993/05/03
  21. Version: 1.3
  22.  
  23. Q1:  What is OpenGL?
  24. Q2:  What is the relationship between IRIS GL and OpenGL?
  25. Q3:  What does the .gl or .GL file format have to do with OpenGL?
  26. Q4:  Which vendors are supporting OpenGL?
  27. Q5:  When will OpenGL implementations be available?
  28. Q6:  What documentation is available for OpenGL?
  29. Q7:  Why doesn't SGI provide a free implementation of OpenGL?
  30. Q8:  What are the conformance tests?
  31. Q9:  Will OpenGL code be source code or binary code compatible with
  32. IRIS GL code?
  33. Q10:  Why should I port my IRIS GL application to OpenGL?
  34. Q11:  How much work is it to convert an IRIS GL program to OpenGL?
  35. What are the major differences between them?
  36. Q12:  How does a university or research institution acquire access to
  37. OpenGL source code?
  38. Q13:  How is a commercial license acquired?
  39. Q14:  How is the OpenGL governed?  Who decides what changes can be
  40. made?
  41. Q15:  Who are the current ARB members?
  42. Q16:  What is the philosophy behind the structure of the ARB?
  43. Q17:  How does the OpenGL ARB operate logistically?  When does the
  44. ARB have meetings?
  45. Q18:  How do additional members join the OpenGL ARB?
  46. Q19:  So if I'm not a member of the ARB, am I shut out of the decision 
  47. making process?
  48. Q20:  What is the OpenGL Advisory Forum?
  49. Q21:  Are ARB meetings open to observers?
  50.  
  51.  
  52. Q1:  What is OpenGL?
  53.  
  54. A:  OpenGL is the software interface for graphics hardware that allows
  55. graphics programmers to produce high-quality color images of 3D
  56. objects.  OpenGL is a rendering only, vendor neutral API providing 2D
  57. and 3D graphics functions, including modelling, transformations,
  58. color, lighting, smooth shading, as well as advanced features like
  59. texture mapping, NURBS, fog, alpha blending and motion blur.  OpenGL
  60. works in both immediate and retained (display list) graphics modes.
  61. OpenGL is window system and operating system independent.  OpenGL has 
  62. been integrated with Windows NT and with the X Window System under
  63. UNIX.  Also, OpenGL is network transparent.  A defined common extension
  64. to the X Window System allows an OpenGL client on one vendor's platform
  65. to run across a network to another vendor's OpenGL server. 
  66.  
  67. Q2:  What is the relationship between IRIS GL and OpenGL?
  68.  
  69. A:  IRIS GL is the predecessor to OpenGL.  After other implementors
  70. had experience trying to port the IRIS GL to their own machines, it
  71. was learned that the IRIS GL was too tied to a specific window system
  72. or hardware.  Based upon consultations with several implementors,
  73. OpenGL is much more platform independent.
  74.  
  75. IRIS GL is being maintained and bugs will be fixed, but SGI will no
  76. longer add enhancements.  OpenGL is now the strategic interface for
  77. 3-D computer graphics.
  78.  
  79. Q3:  What does the .gl or .GL file format have to do with OpenGL?
  80.  
  81. .gl files have nothing to do with OpenGL.  It's a file format for
  82. images, which has no relationship to IRIS GL or OpenGL.
  83.  
  84. Q4:  Which vendors are supporting OpenGL?
  85.  
  86. A:  OpenGL is supported by SGI and many other hardware vendors.  As of
  87. February, 1993, OpenGL has been licensed to DEC, IBM, Intel,
  88. Microsoft, Nth Graphics (supporting Sun and HP), Du Pont Pixel Systems
  89. (supporting Sun and a Du Pont Pixel graphics accelerator board), Evans
  90. & Sutherland, Kubota Pacific, Sony, NEC, Hitachi, Daikin, Intergraph,
  91. miro, pellucid, RasterOps, Samsung, SPEA, USL, Harris Computer,
  92. Kendall Square Research, and SHOGraphics.  The machines supported by
  93. OpenGL licensees constitute over 95% of the graphics workstation 
  94. marketplace, as well as the majority of the PC market.
  95.  
  96. Q5:  When will OpenGL implementations be available?
  97.  
  98. A:  OpenGL will be available on SGI IRIS Workstations in the first
  99. half of 1993.  It will be available on at least Entry System, XS.
  100. XS24, XZ, Elan, Extreme, VTX, and Reality Engine graphics systems.
  101.  
  102. SGI does not speak for any other company.  However, this space is
  103. available for any company who wishes to state status reports or
  104. release dates for their OpenGL implementation.  Please send e-mail
  105. to woo@sgi.com to add to this section.
  106.  
  107. Q6:  What documentation is available for OpenGL?
  108.  
  109. A:  A 2 volume set, The OpenGL Technical Library, is being published
  110. by Addison-Wesley.  The OpenGL Reference Manual is ISBN 0-201-63276-4.
  111. The OpenGL Programming Guide is ISBN 0-201-63274-8.
  112.  
  113. The OpenGL Reference Manual is available today.  The OpenGL
  114. Programming Guide will be available in early July.
  115.  
  116. You can purchase the books in extremely large volume by calling Robert
  117. Shepard of Addison-Wesley (617) 944-3700 ext 2435.
  118.  
  119. The man pages are also available via anonymous, public ftp.
  120. On the machine sgi.com, the directory with man pages for
  121. OpenGL, its Utility Library (glu), and the X server extension API 
  122. (glx) is ~ftp/sgi/OpenGL.
  123.  
  124. Q7:  Why doesn't SGI provide a free implementation of OpenGL?
  125.  
  126. A:  The intent of licensing is to enhance conformity and portability of
  127. applications code.  In the days before OpenGL, IRIS GL was supported
  128. differently and enhanced differently for each machine on which it was
  129. implemented.  This included machines from IBM, HP, Sun, as well as SGI.
  130. Applications developers found this to be a nightmare, and convinced
  131. SGI that OpenGL implementations needed to be more consistent.  This
  132. led us to develop specifications and conformance tests, and to seek 
  133. some way to ensure that OpenGL implementors would honor them.  There 
  134. are only a few legal mechanisms that can be used for this purpose,
  135. and licensing is one of the most effective and widely accepted.  SGI 
  136. thinks the lack of a public-domain implementation is a trade-off for
  137. a guarantee of consistent OpenGL implementations from many different
  138. vendors, and that in the long run this is the best interests of 
  139. application developers, who seek ease of portability, and end-users,
  140. who seek to be able to choose among hardware vendors for their chosen
  141. software solution. 
  142.  
  143. Licensing money goes to creating conformance tests to control variants 
  144. and subsets, maintaining the specification and sample implementation.  
  145. Because of the overhead of having the dozen or so engineers working 
  146. on OpenGL at SGI, SGI is not making money from the OpenGL effort.  
  147. Licensing is one way to help offset those costs.
  148.  
  149. Q8:  What are the conformance tests?
  150.  
  151. A:  The conformance tests are a suite of programs which judge the
  152. success of an OpenGL implementation.  Each implementor is required
  153. to run these tests and pass them in order to call their implementation 
  154. with the trademark OpenGL.  Passing the conformance tests ensures 
  155. source code compatibility of applications across all OpenGL 
  156. implementations.
  157.  
  158. Q9:  Will OpenGL code be source code or binary code compatible with
  159. IRIS GL code?
  160.  
  161. A:  OpenGL code is neither binary nor source code compatible with IRIS
  162. GL code.  It was decided to bite the bullet at this time to make
  163. OpenGL incompatible with IRIS GL and fix EVERYTHING that made IRIS GL
  164. difficult to port or use.  For example, the gl prefix has been added
  165. to every command:  glVertex(), glColor(), etc.
  166.  
  167. Q10:  Why should I port my IRIS GL application to OpenGL?
  168.  
  169. SGI will be maintaining the old IRIS GL, but not enhancing it.  
  170. OpenGL is the API of choice on all new SGI machines.
  171.  
  172. OpenGL has no subsets.  You can use the same functionality
  173. on all machines from SGI or from other vendors, if you can
  174. find IRIS GL on other vendor's platforms.
  175.  
  176. OpenGL is better integrated with the X Window System than
  177. the old IRIS GL.  For example, you can mix OpenGL and X
  178. or Display PostScript drawing operations in the same window.
  179.  
  180. The OpenGL naming scheme, argument list conventions, and
  181. rendering semantics are cleaner than those of IRIS GL.  This
  182. should make OpenGL code easier to understand and maintain.
  183.  
  184. Q11: How much work is it to convert an IRIS GL program to OpenGL?
  185. What are the major differences between them?
  186.  
  187. There is a fair amount of work, most of which is in substituting
  188. for window management or input handling routines, for which the 
  189. equivalents are not OpenGL, but the local window system, such as
  190. the X Windows System or Windows NT.  And all routine names have changed,
  191. at least, minimally; for example:  ortho() is now glOrtho(). 
  192.  
  193. To help ease the way, port to "mixed model" right away, mixing the
  194. X Window System calls to open and manage windows, cursors, and color
  195. maps and read events of the window system, mouse and keyboard.  
  196. You can do that now with IRIS GL, if you are running IRIX 4.0.  
  197.  
  198. In the X Window System, display mode choices (such as single or 
  199. double buffering, color index or RGBA mode) must be declared before 
  200. the window is initially opened.  You may also substitute for other
  201. IRIS GL routines, such as using a OSF/Motif menu system, in place of
  202. the IRIS GL pop-up menus.  You should use glXUseXFont(), whenever 
  203. you were using the font manager with IRIS GL.
  204.  
  205. Tables for states such as lighting or line and polygon stipples will 
  206. be gone.  Instead of using a def/set or def/bind sequence to load a
  207. table, you turn on the state with glEnable() and also declare the
  208. current values for that state.
  209.  
  210. Colors are best stored as floating point values, scaled from 0.0 to
  211. 1.0 (0% to 100%).  Alpha is fully integrated in the RGBA mode and
  212. at least source alpha will be available on all OpenGL implementations.
  213. OpenGL will not arbitrarily limit the number of bits per color to 8.
  214. Clearing the contents of buffers no longer uses the current color, but
  215. a special "clearing" color for each buffer (color, depth, stencil, and
  216. accumulation).
  217.  
  218. The transformation matrix has changed.  In OpenGL, there is no
  219. single matrix mode.  Matrices are now column-major and are post-multiplied,
  220. although that does NOT change the calling order of these routines from
  221. IRIS GL to OpenGL.  OpenGL's glRotate*() now allows for a rotation
  222. around an arbitrary axis, not just the x, y, and z axes.  lookat() 
  223. of IRIS GL is now gluLookAt(), which takes an up vector value, not
  224. merely a twist.  There is no polarview() in OpenGL, but a series
  225. of glRotate*()s and glTranslate*()s can do the same thing.
  226.  
  227. There are no separate depth cueing routines in OpenGL.  Use linear fog.
  228.  
  229. Feedback and selection (picking) return values, which are different
  230. from those found on any IRIS GL implementation.  For selection and
  231. picking, depth values will be returned for each hit.  In OpenGL, feedback 
  232. and selection will now be standardized on all hardware platforms.
  233.  
  234. Q12:  How does a university or research institution acquire access to
  235. OpenGL source code?
  236.  
  237. A:  There is a university/research institution licensing program.  A
  238. university license entitles the institution to generate binaries and
  239. copy them anywhere, so long as nothing leaves the institution.  The
  240. OpenGL source and derived binaries can only be used for non-commercial
  241. purposes on-campus.  A university license costs $500 and can be
  242. obtained by contacting woo@sgi.com.
  243.  
  244. Q13:  How is a commercial license acquired?
  245.  
  246. A:  Call Mason Woo at (415) 390-4205 or e-mail him at woo@sgi.com.
  247. There are licenses available restricted to site (local) usage, or
  248. permitting redistribution of binary code.  The limited source 
  249. license provides a sample implementation of OpenGL for $50,000.
  250. The license for commerical redistribution of OpenGL binaries 
  251. has two most commonly chosen levels.  Level 1 costs $25,000.  
  252. Level 2 costs $100,000, and includes the sample implementation of
  253. OpenGL.  Both levels require a $5 royalty for every copy of the 
  254. OpenGL binary, which is redistributed. 
  255.  
  256. Since many implementations will be a shared library on a hardware 
  257. platform, the royalty sometimes will be charged for each hardware 
  258. platform, not each application which uses OpenGL.
  259.  
  260. Q14:  How is the OpenGL governed?  Who decides what changes can be
  261. made?
  262.  
  263. A:  OpenGL is controlled by an independent board, the Architectural
  264. Review Board (ARB).  Each member of the ARB has one vote.  The founding
  265. members of the ARB are DEC, IBM, Intel, Microsoft, and SGI.
  266. Additional members will be added over time.  The ARB governs the
  267. future of OpenGL, proposing and approving changes to the
  268. specification, new releases, and conformance testing.
  269.  
  270. Q15:  Who are the current ARB members?
  271.  
  272. A:  In alphabetical order:  Digital Equipment, IBM, Intel, Microsoft,
  273. and Silicon Graphics.
  274.  
  275. Q16:  What is the philosophy behind the structure of the ARB?
  276.  
  277. A:  The ARB is intended to be able to respond quickly and flexibly to
  278. evolutionary changes in computer graphics technology.  The ARB is
  279. currently "lean and mean" to encourage speedy communication and
  280. decision-making.  Its members are highly motivated in ensuring the
  281. success of OpenGL.
  282.  
  283. Q17:  How does the OpenGL ARB operate logistically?  When does the ARB
  284. have meetings?
  285.  
  286. A:  ARB meetings are held about once a quarter.  The meetings rotate
  287. among sites hosted by the ARB members.
  288.  
  289. The next ARB meeting will be held Tuesday and Wednesday, August 24
  290. and 25th, 1993 somewhere in Redmond, Washington.  This meeting will 
  291. be hosted by Microsoft.
  292.  
  293. Meetings are run by a set of by-laws, which are currently being
  294. approved.  When they are approved, the by-laws will be publicly
  295. available for inspection.
  296.  
  297. Q18:  How do additional members join the OpenGL ARB?
  298.  
  299. A:  The intention is that additional members may be added on a 
  300. permanent basis or for a one-year term.  The one-year term members 
  301. would be voting members, added on a rotating basis, so that
  302. different viewpoints (such as ISV's) could be incorporated into new
  303. releases.  Under the currently proposed (but not yet ratified)
  304. by-laws, SGI formally nominates new members.
  305.  
  306. Q19:  So if I'm not a member of the ARB, am I shut out of the decision
  307. making process?
  308.  
  309. A:  There are many methods by which you can influence the evolution of
  310. OpenGL.
  311.  
  312. 1) Contribute to the comp.graphics.opengl news group.  Most members of
  313. the ARB read the news group religiously.
  314. 2) Contact any member of the ARB and convince that member that your
  315. proposal is worth their advocacy.  Any ARB member may present a
  316. proposal, and all ARB members have equal say.
  317. 3) Come to OpenGL Advisory Forum and speak directly to ARB in person.
  318.  
  319. Q20:  What is the OpenGL Advisory Forum?
  320.  
  321. A:  Preceding every ARB meeting will be a meeting of the OpenGL
  322. Advisory Forum.  Members of the ARB will attend this meeting to listen
  323. to proposals and discussions.  If you want to attend, you want to
  324. notify the Secretary of the ARB.  Until a more generic mail alias is
  325. set up for the Secretary, you can just send mail to woo@sgi.com
  326.  
  327. The Advisory Forum is intended to start as an informal, self-governing
  328. group of people, highly interested in OpenGL.  The ARB will invite a
  329. representative of the Advisory Forum to attend the ARB meetings, in a
  330. non-voting capacity.  Advisory Forum members can be candidates for
  331. both short-term and permanent membership in the ARB.  The Advisory
  332. Forum is encouraged to formulate its own structure and rules and move
  333. into any direction it wants.
  334.  
  335. Corporations, universities, or individuals can be members of the
  336. Advisory Forum.
  337.  
  338. The next OpenGL Advisory Forum meeting is Monday, August 23rd,
  339. hosted by Microsoft, somewhere in Redmond, Washington (same place
  340. as the ARB meeting).
  341.  
  342. Q21:  Are ARB meetings open to observers?
  343.  
  344. A:  The ARB meeting will be open to observers, but we want to keep the
  345. meeting small.  Therefore, we will suggest that the Advisory Forum
  346. nominate five representatives of the Advisory Forum to attend the
  347. ARB meetings, in a non-voting capacity.
  348.  
  349.  
  350.